package com.tiancheng.trade.settlement.model.settlement;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 招商银行对账数据
 */
@Data
@TableName("payment_bank_data_cmb")
public class PaymentBankDataCmb {

    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 1L;

    /**
     * Id
     */
    private long id;

    private String merOrderNo;//商户订单号
    private String bankSerialNumber;//银行流水号
    private String thirdOrderNo;//第三方订单号
    private String paymentWay;//支付方式
    private String transactionType;//交易类型
    private String tradingCurrency;//交易币种
    private String goodsName;//商品名称
    private LocalDateTime transactionDatetime;//交易时间
    private String storeName;//门店名称
    private String storeNo;//门店编号
    private String cashier;//收银员
    private String payerInformation;//付款人信息
    private String payingBank;//付款银行
    private Integer transactionAmount;//交易金额
    private Integer serviceCharge;//手续费
    private Integer settlementAmount;//结算金额
    private BigDecimal rate;//费率
    private Integer originalOrderAmount;//订单原始金额
    private Integer freeRechargeCouponAmount;//免充值优惠券金额
    private Integer enterpriseRedPacketAmount;//企业红包金额
    private Integer refundAmountOfEnterpriseRedPacket;//企业红包退款金额
    private Integer platformPreferentialAmount;//平台优惠金额
    private LocalDate statementDate;//账单日期
    private LocalDate completionDate;//完成日期
    private LocalDate clearingDate;//清分日期
    private String clearingAccount;//清分账号
    private String clearingResult;//清分结果
    private String originalMerchantOrderNo;//原交易商户订单号
    private String originalBankSerialNumber;//原交易银行流水号
    private String originalThirdOrderNo;//原交易第三方订单号
    private String businessType;//业务种类
    private String merchantReservationDomain;//商户保留域
    private String payeeRemarks;//收款方备注
    private String payerRemarks;//付款方备注
    private String refundRemarks;//退款备注

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
}
